import { buildGetUrl } from '@/core/http/requestUrl.js';

export default class TicketInfoController {
  static list (sender, params, axiosOption, httpOption) {
    return sender.doUrl('/admin/app/ticketInfo/list', 'post', params, axiosOption, httpOption);
  }

  static view (sender, params, axiosOption, httpOption) {
    return sender.doUrl('/admin/app/ticketInfo/view', 'get', params, axiosOption, httpOption);
  }

  static export (sender, params, fileName) {
    return sender.download('/admin/app/ticketInfo/export', params, fileName);
  }

  static import (sender, params) {
    return sender.upload('/admin/app/ticketInfo/import', params);
  }

  static printUrl (params) {
    return buildGetUrl('/admin/app/ticketInfo/print', params);
  }
  static add (sender, params, axiosOption, httpOption) {
    return sender.doUrl('/admin/app/ticketInfo/add', 'post', params, axiosOption, httpOption);
  }

  static update (sender, params, axiosOption, httpOption) {
    return sender.doUrl('/admin/app/ticketInfo/update', 'post', params, axiosOption, httpOption);
  }

  static delete (sender, params, axiosOption, httpOption) {
    return sender.doUrl('/admin/app/ticketInfo/delete', 'post', params, axiosOption, httpOption);
  }

  static deleteBatch (sender, params, axiosOption, httpOption) {
    return sender.doUrl('/admin/app/ticketInfo/deleteBatch', 'post', params, axiosOption, httpOption);
  }

  static startOnlyGgFlow (sender, params, axiosOption, httpOption) {
    return sender.doUrl('/admin/app/ticketInfo/startOnly/ggFlow', 'post', params, axiosOption, httpOption);
  }

  static startWithBusinessKeyGgFlow (sender, params, axiosOption, httpOption) {
    return sender.doUrl('/admin/app/ticketInfo/startWithBusinessKey/ggFlow', 'post', params, axiosOption, httpOption);
  }

  static startAndTakeUserTaskGgFlow (sender, params, axiosOption, httpOption) {
    return sender.doUrl('/admin/app/ticketInfo/startAndTakeUserTask/ggFlow', 'post', params, axiosOption, httpOption);
  }

  static startAndSaveDraftGgFlow (sender, params, axiosOption, httpOption) {
    return sender.doUrl('/admin/app/ticketInfo/startAndSaveDraft/ggFlow', 'post', params, axiosOption, httpOption);
  }

  static submitUserTaskGgFlow (sender, params, axiosOption, httpOption) {
    return sender.doUrl('/admin/app/ticketInfo/submitUserTask/ggFlow', 'post', params, axiosOption, httpOption);
  }

  static viewTaskBusinessDataGgFlow (sender, params, axiosOption, httpOption) {
    return sender.doUrl('/admin/app/ticketInfo/viewTaskBusinessData/ggFlow', 'get', params, axiosOption, httpOption);
  }

  static viewHistoricTaskBusinessDataGgFlow (sender, params, axiosOption, httpOption) {
    return sender.doUrl('/admin/app/ticketInfo/viewHistoricTaskBusinessData/ggFlow', 'get', params, axiosOption, httpOption);
  }

  static listWorkOrderGgFlow (sender, params, axiosOption, httpOption) {
    return sender.doUrl('/admin/app/ticketInfo/listWorkOrder/ggFlow', 'post', params, axiosOption, httpOption);
  }
}
